Men├╝ Analyse
From CGSecurity
Contents |
Analyse
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Current partition structure: Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] X extended 3574 0 1 4210 254 63 10233405 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] X extended 4211 0 1 14592 254 63 166786830 7 L Linux 4211 1 1 14592 254 63 166786767 *=Primary bootable P=Primary L=Logical E=Extended D=Deleted [Proceed ] [ Save ] Try to locate partition
Analysiert die aktuelle Partitionsstruktur eines Laufwerks und sucht Partitionen, macht es m├╢glich verlorene Partitionen wiederherzustellen.
Partitions-Überprüfungen
TestDisks Analyse führt eine schnelle Überprüfung der Partitionsstruktur durch. TestDisk kann verschiedene Typen von Partitionen bearbeiten: - Intel - Mac - None (d.h.: kleine Medien ohne Partition) - Sun - XBox
Die Intel Partitionsstruktur ist aus der MBR-Tabelle und erweiterten Partitionen zusammengesetzt. Der MBR ist auf vier Einträge beschränkt. Einer der Einträge kann eine erweiterte Partition sein, die mehrere logische Partitionen ermöglicht. Jede logische Partition ist in einer erweiterten Partition/Container enthalten. Der MBR und jede erweiterte Partition müssen mit zwei Byte 0x55 und 0xAA in dieser Reihenfolge enden; welche das Hexadezimalzahlwort 0xAA55 bilden (seitdem x86 CPU-Systeme 'little-endian' sind). Ein Partitionseintrag besteht aus: - Start der Partition in CHS - Ende der Partition in CHS - Dateisystemtyp - logischer Start - Größe in Sektoren - boot flag (Boot-Markierung). Nur eine primäre Partition kann das boot flag (Boot-Markierung) gesetzt haben. Die CHS-Informationsspeicherung ist auf ein Maximum von 1024 Zylindern beschränkt (0-1023), das ist, warum wir die berühmte 8 GB Beschränkung haben (1024*255*63 = 16450560 sectors = 8422686720 bytes).
Moderne Betriebssysteme und BIOS-Chips verwenden den LBA-Modus, um auf Daten zuzugreifen, aber FAT12/16/32-Bootsektoren machen immer noch die Referenz für die CHS-Geometrie. TestDisk überprüft, ob jeder Wert im zulässigen Bereich ist: d.h., kein Sektor-Wert weniger als 1 oder höher als die Anzahl von Sektoren pro Head (Kopf). Die Partitionseinträge werden unter Verwendung des logischen Starts und der Größe in Sektoren gelesen, dann überprüft TestDisk, ob die logischen Werte zu den CHS-Werten passen. Testdisk überprüft auch, das nicht Partitionsdaten einer Partition angezeigt werden die über das Plattenende hinausgehen und keine Partition sich mit einer anderen überlappt.
Sun label kann bis zu 8 Partitionseinträge haben. Eintrags-Nummer 2 ist für die ganze Platte reserviert.
Dateisystem-Überprüfungen
Dem Dateisystemstyp folgend, führt TestDisk einige grundlegende Überprüfungen auf den Bootsektor/Superblock von jedem Dateisystem aus. Da ext2/ext3/reiserfs/jfs denselben Dateisystemstyp 0x83 gemeinsam benutzen, muss TestDisk jedes Dateisystem überprüfen. Die Überprüfungen sind die Gleichen, wie jene die verwendet werden, wenn TestDisk nach Partitionen sucht: - vorhandensein des magic value (magischen Wertes) oder der Signatur (d.h., 0xAA55 bei offset 0x1FE von einem FAT oder NTFS-Bootsektor). - schlüssige Werte d.h., freie Blöcke (free_blocks_count) zählen niedriger als Blöcke (blocks_count) für ext2. Diese Phase ist sehr schnell, da die Überprüfungen minimal sind.
Partition-Wiederherstellung
In einer zweiten Stufe sucht TestDisk nach 'verlorene Partitionen', ohne die Ergebnisse vom vorherigen Schritt zu benutzen. Dies ist das Herz von TestDisks mächtigen Leistungsspektrum! TestDisk nimmt die Existenz von Partitionen an und durchsucht alle relevanten Laufwerkzylinder nach ihnen. Eine primäre Partition beginnt am Anfang eines Zylinders (head=0, sector=1), während eine logische Partition etwas weiter beginnt (head=1, sector=1). Für jede mögliche Startposition einer Partition, kann TestDisk nach dem Vorhandensein einer Dateisystemkopfzeile (FAT oder NTFS-Bootsektor, EXT2/EXT3 superblock, BSD disklabel ...) suchen, welches die Gegenwart eines bekannten Partitionstyps bestätigt. Auf diese Art wird die Größe einer Partition direkt von ihrer Struktur auf der Platte bestimmt. Jede Partition, die TestDisk entdeckt, wird einer Liste von gefundenen Partitionen hinzugefügt.
Um eine FAT32-Partition zu erkennen, sucht TestDisk nach einer 0xAA55-Endmarkierung
und der Signatur FAT32
, es führt auch die entsprechende FAT-Dateisystem-Überprüfungen aus:
- jump signature (Signatur) muss in der Anordnung 0xeb 0xXX 0x90
sein oder 0xe9 0xXX 0xXX
wobei 0xXX
jedes Byte sein k├╢nnte, und ...
0xeb: A Short Jump, displacement relative to next instruction (only 8 bit).
0x90: NOP (do nothing).
0xe9: A Near Jump, displacement relative to next instruction (32 or 16 bit).
- Sektorgröße ist 512
- Clustergröße muss 1, 2, 4, 8, 16, 32, 64 or 128 sein
- es muss 2 Fat-Kopien geben
- der Datenträger muss 0xF8 sein (kein anderer Wert ist gesehen worden, es ist ein veraltetes Merkmal)
- Den MS-Richtlinien folgend ist die Signatur FAT32
bedeutungslos, aber das Dateisystem sollte es haben.
Der Nummer von Cluster folgend, bestimmt TestDisk die Art von FAT (Nummer der Cluster ist mehr oder gleich zu 65525 f├╝r FAT32).
Für FAT32 werden einige bestimmte Überprüfungen gemacht: - die Rootclusternummer muss zwischen 2 und der Maximalclusternummer sein, - einige veraltete Werte (Anzahl von Verzeichniseinträgen, 16-Bit Partitionsgröße) muss auf 0 gesetzt sein, - FAT32-Version (unbenutzt) muss 0,0 sein
Um eine NTFS-Partition zu entdecken sucht TestDisk nach einer 0xAA55-Endmarkierung und der Signatur NTFS
, es überprüft auch ob einige FAT-spezifischen Werte, alle auf null (0) gesetzt sind: Die Anzahl von reservierten Sektoren, Anzahl von FATs, Anzahl von Verzeichniseinträgen, 16-Bit Größe des Dateisystems, 32-Bit Größe des Dateisystems, Sektoren pro FAT.
Die Anzahl von Sektoren pro Cluster muss größer als null sein.
Für FAT und NTFS-Dateisystem wird die Größe der Partition im Bootsektor selbst gelesen.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Analyse cylinder 1011/14592: 00% FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Stop
Sobald die Analyse vollständig ist, generiert TestDisk einen Bericht über gefundene Partitionen.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] P Linux 1011 0 1 1023 254 63 208845 [/boot] D Linux 1024 1 1 3573 254 63 40965687 D Linux RAID 1024 1 1 3573 254 63 40965687 [md0] D Linux 3574 1 1 4210 254 63 10233342 D Linux RAID 3574 1 1 4210 254 63 10233342 [md1] L Linux 4211 1 1 14592 254 63 166786767 Structure: Ok. Use Up/Down Arrow keys to select partition. Use LEFT/RIGHT Arrow keys to CHANGE partition characteristics: *=Primary bootable P=Primary L=Logical E=Extended D=Deleted Keys A: add partition, L: load backup, T: change type, P: list files, ENTER: to continue FAT32, 8315 MB / 7930 MiB
Dateien von einer NTFS, FAT, EXT2/EXT3 und ReiserFS Partition können durch das Drücken von P gelistet werden. Beachte, der FAT-Verzeichniseintrag ist auf 5 Cluster beschränkt, einige Dateien werden deshalb nicht erscheinen, es beeinflusst aber nicht die Wiederherstellung.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Use right arrow to change directory, q to quit Directory / -rwxr-xr-x 0 0 805306368 20-Jul-2005 10:35 PAGEFILE.SYS drwxr-xr-x 0 0 0 14-Feb-2005 22:41 WINDOWS -r-xr-xr-x 0 0 4952 28-Aug-2001 15:00 Bootfont.bin -r-xr-xr-x 0 0 251712 3-Aug-2004 22:59 NTLDR -r-xr-xr-x 0 0 47564 3-Aug-2004 22:38 NTDETECT.COM -rwxr-xr-x 0 0 212 14-Feb-2005 22:51 BOOT.INI drwxr-xr-x 0 0 0 14-Feb-2005 22:47 Documents and Settings dr-xr-xr-x 0 0 0 14-Feb-2005 22:55 Program Files -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 CONFIG.SYS -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 AUTOEXEC.BAT -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 IO.SYS -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 MSDOS.SYS drwxr-xr-x 0 0 0 14-Feb-2005 23:02 System Volume Information -rwxr-xr-x 0 0 536399872 20-Jul-2005 10:36 HIBERFIL.SYS
Unter Verwendung der Liste von gefundenen Partitionen kann die Partitionstabelle editiert werden.
Es gibt drei Arten von Editieren:
- Du kannst den Partitionstyp ändern mit *T*
- Du kannst eine neue Partition hinzuf├╝gen mit *A*.
- Du kannst den Status der ausgewählten Partition mit Hilfe der Links oder Rechts-Pfeiltaste ändern. Die verfügbaren Status sind Primary, * bootfähig (primär aktiv), Logical (logisch), Deleted (gelöscht).
Sowie Editieren vorgenommen wird, sollte auch der Status von der Struktur der Partitionstabelle beobachtet werden. Er wird entweder Ok
oder Bad
sein.
Structure: Ok sollte erscheinen, wenn alles in Ordnung ist, d.h., keine primäre Partition zwischen zwei erweiterten Partitionen, nur eine oder keine bootfähige Partitionen, keine Partitionen die denselben Plattenspeicherplatz verwenden. Wenn du mit der bearbeiteten Partitionstabelle zufrieden bist, drücke Eingabe. Wenn du irgendwelche Änderungen gemacht hast, gibt dir TestDisk die Auswahl, diese Daten in die Partitionstabelle des Laufwerks zu schreiben oder eine detailliertere Analyse auszuführen.
- Quit
Verlassen (beenden) vom TestDisk-Programm, ohne Änderungen vorzunehmen (ausgenommen, die EINGABE-Taste würde gedrückt werden, während das Menü Write 'hervorgehoben' ist).
- Search!
Die schnelle erste Suche k├╢nnte einige Partitionen vermissen lassen. Search! (die tiefere Suche) sucht auch um mehr Partitionen zu entdecken nach jeglichen FAT32-Backup-Bootsektor, NTFS-Backup-Boot-Superblock und EXT2/EXT3-Backup-Superblock, es scannt dabei jeden einzelnen Zylinder.
- Write
Schreibt die Änderungen, die in TestDisks Speicherpuffer gemacht worden sind auf die Festplatte. Wenn du wegen den Änderungen (oft an der Partitionstabelle des MBRs) unsicher bist, dann verwende diese Funktion nicht!
- Extd Part
Wenn es logische Partition gibt, lässt dich diese Markierung entscheiden, ob die erweiterte Partition allen verfügbaren Plattenspeicherplatz oder nur den erforderlichen (minimalen) Platz verwendet.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] 7 L Linux 4211 1 1 14592 254 63 166786767 [ Quit ] [Search! ] [ Write ] Return to main menu
Hier fragt TestDisk um den Schreibvorgang zu bestätigen; damit hast du die endgültige Wahl über das was TestDisk tatsächlich tut.
TestDisk 6.2-WIP, Data Recovery Utility, November 2005 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Write partition table, confirm ? (Y/N)
Zur├╝ck zu Ausf├╝hren von TestDisk